/*
 *  AxisAlignedBox.h
 *  RTDemo
 *
 *  Created by steveca  on 02/05/09.
 *  Copyright 2009 __MyCompanyName__. All rights reserved.
 *
 */

#include "Vector3.h"

namespace RTRT 
{
    class AxisAlignedBox 
        {
        public:
            AxisAlignedBox() {}
            AxisAlignedBox(const Vector3& position, const Vector3& size)
            {
                m_position = position;
                m_size = size;
            }
            
            bool intersect( const AxisAlignedBox& _aabb) const;
            bool containes( const Vector3& _pointe) const;
            
			Vector3& getPosition() {
				return m_position;
			}
			
			Vector3& getSize() {
				return m_size;
			}
			
			float getWidth() {
				return m_size.x;
			}
			
			float getHeight() {
				return m_size.y;
			}
			
			float getDepth() {
				return m_size.z;
			}
			
        private:
            Vector3 m_position;
            Vector3 m_size;  
        };
}
